package interfaces;

import java.rmi.RemoteException;
import java.util.List;

import dto.DTOMarca;
import dto.DTONacionalidad;
import dto.DTOProducto;
import dto.DTOSKF;

public interface IServicioProducto extends IServicio
{

	//	Producto
	public Integer altaProducto(String nombre, String descripcion, String caracteristicas, String codigoSKF, Integer codigoNacionalidad, Integer codigoMarca, boolean activo, Integer stock, Double precio) throws RemoteException;
	public void modificarProducto(Integer codigo, String nombre, String descripcion, String caracteristicas, String codigoSKF, Integer codigoNacionalidad, Integer codigoMarca, boolean activo, Integer stock, Double precio) throws RemoteException;
	public void eliminarProducto(Integer codigo) throws RemoteException;
	public DTOProducto obtenerProducto(Integer codigo) throws RemoteException;
	public List<DTOProducto> listarProductos() throws RemoteException;
	public List<DTOProducto> listarProductos(Integer codigo, String nombre, String descripcion, String caracteristicas, String codigoSKF, Integer codigoNacionalidad, Integer codigoMarca, boolean activo) throws RemoteException;

	//	SKF
	public String altaSKF(String codigo, String medida, String tipo) throws RemoteException;
	public void modificarSKF(String codigo, String medida, String tipo) throws RemoteException;
	public void eliminarSKF(String codigo) throws RemoteException;
	public DTOSKF obtenerSKF(String codigo) throws RemoteException;
	public List<DTOSKF> listarSKF(String codigo, String medida, String tipo) throws RemoteException;
	
	//	Nacionalidad
	public DTONacionalidad obtenerNacionalidad(Integer codigo) throws RemoteException;
	public List<DTONacionalidad> listarNacionalidades(Integer codigo, String nombre)throws RemoteException;
	
	//	Marca
	public Integer altaMarca(String nombre) throws RemoteException;
	public void modificarMarca(Integer codigo, String nombre) throws RemoteException;
	public void eliminarMarca(Integer codigo) throws RemoteException;
	public DTOMarca obtenerMarca(Integer codigo) throws RemoteException;
	public List<DTOMarca> listarMarcas(Integer codigo, String nombre) throws RemoteException;

}
